/**
 The MIT License

Copyright (c) <2011> <JPACHUBE Team>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
 */
package com.pachube.api;

/**
 * The Interface Location.
 */
public interface Location {

    /**
     * Sets the lat.
     * 
     * @param lat the new lat
     */
    public void setLat(String lat);

    /**
     * Sets the lon.
     * 
     * @param lon the new lon
     */
    public void setLon(String lon);

    /**
     * Sets the elevation.
     * 
     * @param elevation the new elevation
     */
    public void setElevation(String elevation);

    /**
     * To xml.
     * 
     * @return the string
     */
    public String toXML();

    /**
     * To string.
     * 
     * @return the string
     */
    public String toString();

    /**
     * Gets the name.
     * 
     * @return the name
     */
    public String getName();

    /**
     * Sets the name.
     * 
     * @param name the name to set
     */
    public void setName(String name);

    /**
     * Gets the lat.
     * 
     * @return the lat
     */
    public double getLat();

    /**
     * Sets the lat.
     * 
     * @param lat the lat to set
     */
    public void setLat(double lat);

    /**
     * Gets the lon.
     * 
     * @return the lon
     */
    public double getLon();

    /**
     * Sets the lon.
     * 
     * @param lon the lon to set
     */
    public void setLon(double lon);

    /**
     * Gets the elevation.
     * 
     * @return the elevation
     */
    public double getElevation();

    /**
     * Sets the elevation.
     * 
     * @param elevation the elevation to set
     */
    public void setElevation(double elevation);

    /**
     * Gets the exposure.
     * 
     * @return the exposure
     */
    public Exposure getExposure();

    /**
     * Sets the exposure.
     * 
     * @param exposure the exposure to set
     */
    public void setExposure(Exposure exposure);

    /**
     * Gets the domain.
     * 
     * @return the domain
     */
    public Domain getDomain();

    /**
     * Sets the domain.
     * 
     * @param domain the domain to set
     */
    public void setDomain(Domain domain);

    /**
     * Gets the disposition.
     * 
     * @return the disposition
     */
    public Disposition getDisposition();

    /**
     * Sets the disposition.
     * 
     * @param disposition the disposition to set
     */
    public void setDisposition(Disposition disposition);

}